$> ls -l
-rwrw-rw- 1 db0   db0 62.1 Ko 2015-03-30 19:37 Impatient C
-rwrw-rw- 1 db0   db0  3.5 Ko 2015-03-30 19:37 Impatient SCM
-rwrw-rw- 1 db0   db0  3.0 Ko 2015-03-30 19:37 Impatient Emacs
-rwrw-rw- 1 db0   db0  2.4 Ko 2015-03-30 19:37 Impatient Man Pages
-rwrw-rw- 1 db0   db0 10.5 Ko 2015-03-30 19:37 Impatient Perl
-rwrw-rw- 1 db0   db0 17.3 Ko 2015-03-30 19:37 Impatient Python
-rwrw-rw- 1 db0   db0 13.6 Ko 2015-03-30 19:37 Impatient Shell Debutant
-rwrw-rw- 1 db0   db0 16.4 Ko 2015-03-30 19:37 Impatient Shell Script
-rwrw-rw- 1 db0   db0  3.4 Ko 2015-03-30 19:37 Impatient Shell
-rwrw-rw- 1 db0   db0  1.8 Ko 2015-03-30 19:37 Impatient Vim


Warning

Contrairement aux autres articles, ceux de cette listes n'ont jamais été vérifiés ni relus depuis que je les ai rédigés en première année. Ils peuvent donc contenir des erreurs. Les informations qu'ils contiennent sont à prendre avec des pincettes et à vérifier.

Archives

Ancien Guest Book

-rwrw-rw- 1 db0   db0  0.9 Ko 2015-03-30 19:37 Financer Ses Etudes
-rwrw-rw- 1 db0   db0  2.4 Ko 2015-03-30 19:37 Languages A Apprendre En Tek1
-rwrw-rw- 1 db0   db0  1.1 Ko 2015-03-30 19:37 Makefile Le Retour
-rwrw-rw- 1 db0   db0  3.0 Ko 2015-03-30 19:37 Makefile De Base
-rwrw-rw- 1 db0   db0  1.2 Ko 2015-03-30 19:37 Pourquoi_printf_met_tout_a_la_fin
-rwrw-rw- 1 db0   db0  0.7 Ko 2015-03-30 19:37 Pourquoi_utiliser_getnextline_plutot_que_read_pour_le_minishell_et_autre_42sh
-rwrw-rw- 1 db0   db0  4.3 Ko 2015-03-30 19:37 Taille De Donnees Et Structures
-rwrw-rw- 1 db0   db0  1.5 Ko 2015-03-30 19:37 Cflags
-rwrw-rw- 1 db0   db0  1.6 Ko 2015-03-30 19:37 Hidenp.c
-rwrw-rw- 1 db0   db0  0.1 Ko 2015-03-30 19:37 Liens_utiles_my_select
-rwrw-rw- 1 db0   db0  2.1 Ko 2015-03-30 19:37 List_chainees.c
-rwrw-rw- 1 db0   db0  1.0 Ko 2015-03-30 19:37 Memo_rendu
-rwrw-rw- 1 db0   db0  4.8 Ko 2015-03-30 19:37 Minishell.c
-rwrw-rw- 1 db0   db0 32.7 Ko 2015-03-30 19:37 My_printf.c
-rwrw-rw- 1 db0   db0  4.5 Ko 2015-03-30 19:37 Ordalphlong.c
-rwrw-rw- 1 db0   db0  3.7 Ko 2015-03-30 19:37 Qcm.txt
-rwrw-rw- 1 db0   db0  5.8 Ko 2015-03-30 19:37 Str_to_inttab.c
-rwrw-rw- 1 db0   db0  0.6 Ko 2015-03-30 19:37 Verifier_les_fuites_memoires
-rwrw-rw- 1 db0   db0  0.5 Ko 2015-03-30 19:37 Verifier_les_syscall
##
## Je_montre_a_mathieu_comment_on_fait_un_Makefile for Je montre a mathieru comment on fait un Makefile in /u/all/lepage_b/cu/public
## 
## Made by barbara lepage
## Login   
## 
## Started on  Sat Dec 12 10:09:51 2009 barbara lepage
## Last update Wed Dec 16 15:18:12 2009 barbara lepage
##

## Methode barbare (type exam - les makefile c'est pas mon truc)

all	:
		cc -o machin machin.c

## Methode propre (type je passe une soutenance avec un monsieur en rouge)

NAME	=	executable

SRCS	=	main.c			\
		autre_fichier.c		\
		et_voila.c				## Le dernier n'a pas de '\'

OBJS	=	$(SRCS:.c=.o)				## Compile les fichiers .c en .o. Une sorte de precompiation.

CC	=	cc

CFLAGS	+=	-W -Wall -ansi -pedantic		## Le '+=' permet de ne pas ecraser les flags par defaut.
							 # Ici je n'ai mis que quelques flags simples, j'en ajouterai dans la suite du cours.

LIB	=	-L. -lmalib				## Dans l'exempe, la lib doit se trouver dans le dossier courant.

RM	=	rm -f					## Le -f evite les messages d'erreurs si on tente d'effacer un fichier qui n'existe pas.
							 # (En fait, il force la suppression quoi qu'il arrive.)

CLEAN	=	clean					## Pas obigatoire mais pratique, permet d'enever les fichiers ~

all	:
		@make $(NAME)				## Contrairement aux dependances, cette methode permet d'afficher d'eventuels messages d'erreur.
							 # Le @ permet de ne pas afficher la commande.
$(NAME)	:	$(OBJS)
		$(CC) -o $(NAME) $(OBJS) $(LIB)		## NB : Pas besoin de mettre $(CFLAGS), ceux-ci se mettent tout seuls.

clean	:
		$(RM) $(OBJS)				## Cette regle supprime les fichiers .o
		@$(CLEAN)				 # Et celle-ci les fichiers ~

fclean	:	clean					## Cette regle appelle la precedente puis supprime l'executable.
		$(RM) $(NAME)				

re	:	fclean all				## Cette regle supprime .o et executable puis recompile le tout.
							 # Il faut toujours l'utiliser apres modification d'un .h !

##		Les CFLAGS !
##
##	-W :		active les Warnings
##	-Wall :		tous les types de Warnings
##	-ansi :		norme du C (d'ou l'interdiction par exemple du // pour les commentaires)
##	-pedantic :	flags d'optimisation propres a gcc (exemple : variables non declarees, utilisation de variable sans initialisation)
##	-Werror :	transforme les Warnings en erreur (ca compile pas)
##	-Wstrict :	level max du warning ! (exemple : si une fonction n'a pas de parametre, mettre void)
##	-ggdb :		Affiche plus de debug quand on utilise gdb. A enlever avant de passer en soutenance !
##
##	Eviter de les utiliser a tout bout de champs !
##		Ne s'utilisent qu'avec un programme stable a 200%. Si tu n'es pas le dieu du code, evite.
##	-O2 :		Optimise les performances du programme lors de la compilation.
##	-O3 :		Optimise lors de la compilation en privilegiant le poids de l'executable.
##

## Au prochain episode, comment compiler sous d'autres machines (quand vous serez grands) ! J'ai hate !

##      _ _      ___    lepage_b
##     | | |    / _ \
##   __| | |__ | | | |     sur db0.fr
##  / _` | '_ \| | | |
## | (_| | |_) | |_| |        et Zerofansub.net
##  \__,_|_.__/ \___/

##	Merci a tran-p_n pour ses conseils et explications ;-)